import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import java.util.Scanner;

/**
 * @Author 12629
 * @Description：
 */
public class Mian {
    //可以利用返回值 的向上转型 达到发挥的一致性
    public static User login() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name = scanner.nextLine();
        System.out.println("请输入你的身份：1-》管理员  0-》普通用户");
        int choice = scanner.nextInt();
        if(choice == 1) {
            /*AdminUser adminUser = new AdminUser(name);
            return adminUser;*/
            return new AdminUser(name);
        }else {
            /*NormalUser normalUser = new NormalUser(name);
            return normalUser;*/
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {

        BookList bookList = new BookList();

        User user = login();
        while (true) {
            int choice = user.menu();
            //user是哪个对象？ choice是几？ ---》 能够确定：我能够操作哪个对象的哪个方法？
            //通过这两个变量 可以确定了 但是怎么联系起来？？
            /**
             * 1. 先让双方 存好 对应自己的操作
             * 2. 就是调用对应的操作！
             */
            user.doOperation(choice, bookList);

           /* System.out.println(choice);
            System.out.println(user);*/
        }
    }
}
